The following relates generally to remote controls and, more particularly, relates to a system and method for measuring and presenting a size of a memory in a universal remote control.
Universal remote controls, which are well-known in the art, typically offer a preprogrammed library of remote control codes corresponding to a set of standardized keys for use in commanding common operational functions, such as volume, channel, transport, etc., for each device type supported by the universal remote control, e.g., TV, VCR, DVD, etc. However, unlike a remote control that is supplied as original equipment with a device, a universal remote control is often incapable of commanding the full range of operational functions available on a device. Additionally, the library of codes pre-loaded in a universal remote control can only include support for those device types and models which were known at the time of manufacture.
To overcome these problems, universal remote controls are known which permit the addition of extended key functions and/or entire new device codes as needed. For further information regarding such features the reader is referred to U.S. Pat. No. 4,959,810 entitled “Universal Remote Control Device,” U.S. Pat. No. 5,255,313 entitled “Universal Remote Control System,” U.S. Pat. No. 5,537,463 entitled “Magnetic Modem in Remote Control,” U.S. Pat. No. 5,515,052 entitled “Universal Remote Control with Function Synthesis,” and U.S. Pat. No. 6,223,348 entitled “Universal Remote Control System,” all of like assignee and all incorporated herein by reference in their entirety. In order to permit storage of this supplemental data and/or user programmable settings—such as macros (as described, for example, in U.S. Pat. No. 5,959,751 incorporated herein by reference in its entirety) or moved key functions (as described, for example, in U.S. Pat. No. 6,195,033 incorporated herein by reference in its entirety)—the memory of such a universal remote control typically includes a non-volatile read/write portion comprising EEPROM, Flash, battery-backed RAM, or the like, (collectively referred to hereinafter as “NV memory”). It will be appreciated that the NV memory allows updates and/or user programmable settings to be stored on a permanent basis through battery changes, etc.
It is also known to use a common design when manufacturing universal remote controls where the common design is capable of supporting multiple sizes of NV memory, for example, to provide for different models of universal remote controls. In the case where a common design that supports multiple sizes of NV memory is utilized, the universal remote control firmware may include an algorithm that functions to test the size of installed NV memory and, based upon the memory size, configure itself as a specific model. For example, depending upon the installed NV memory size a first model universal remote control may configure itself with full programming retention and full upgradeability while a second model universal remote control may configure itself to have only programming retention and no upgradeability. In this manner, multiple universal remote control models may be based on the same hardware/software platform and flexibly manufactured as required to match desired price point, specific application, etc.
A disadvantage of current designs, however, is that there is no convenient method to establish the exact size of the NV memory that was installed in a universal remote control. Presently, NV memory size is determined by inference (i.e., receipt of a failure message partway through an upgrading process) or by physically opening the casing of the universal remote control and inspecting the parts inside. Furthermore, there is also no convenient method for diagnosing fault conditions such as, for example, failure of a portion of an NV memory during use, or erroneous installation of the wrong size of NV memory during the manufacturing process. Accordingly a need exists for a method by which the functional size of an NV memory within a remote control may be conveniently measured and presented to a user.